#ifndef PARETOBASE_H
#define PARETOBASE_H

#include <list>
#include <algorithm>
#include <vector>
#include "node.h"

using namespace std;

class Conf{
  public:
        bool dominate(Conf*);
        void print();
		
        vector<Signal*> tracedSigs;
        float TVC, TVNC, TV;
};
	
class Confset{
  public:
        ~Confset();
                
        Confset *min();
        Confset *reduce(int n);
        Confset *reduce(void);
        void rank();
        int maxTVC();
        int maxTVNC();
        int maxTV();
        void print();
	
	vector<Conf*> confs;	
};
	
struct moreTV : public binary_function<Conf *, Conf *, bool> {
        bool operator()(const Conf *a, const Conf *b){
                return (a->TV > b->TV);
        }
};

#endif


